Separate Compilation for Scheme
نویسنده
چکیده
This paper presents the outline of a module system for the Scheme programming language in order to solve several problems commonly encountered with contemporary implementations. These problems include the lack of support for separate compilation and crossmodule type checking as well as the necessity for non-standard language extensions to aid certain compiler optimizations like open compilation and procedure in-lining. Even though Scheme needs to be augmented with concepts like modules, types, and signatures, this will not change the spirit of the language in a major way. Instead it turns out that other recent additions to the language interact smoothly with the proposed module system. It will be emphasized that it is necessary to make a clean distinction between syntactic definitions and value definition — reflected by a textual separation of modules and their signatures.
منابع مشابه
Thesis Proposal: Data Representations and Polymorphic Languages
Languages that provide polymorphism tend to place restrictions on object representations, separate compilation, and/or performance. For instance, most Ada implementations require that polymorphism be resolved before compilation. Consequently, separate compilation is sacriiced, since eliminating poly-morphism is a cross-module transformation. Some languages, like C++ and Modula-3, restrict the r...
متن کاملTechnological Vision in Automotive Industry and Presenting a Model For the Iranian Automotive Industry
This article aims at strategic vision to technology and suggests a strategic planning for this purpose. The main emphasis in this article is on strategic report compilation in the framework of strategic vision and covers issues such as identification of strategic planning dimensions and strategic vision levels, technology priority setting, environment monitoring, focus on costumer needs, method...
متن کاملSeparate Compilation for
This paper presents the outline of a module system for the Scheme programming language in order to solve several problems commonly encountered with contemporary implementations. These problems include the lack of support for separate compilation and crossmodule type checking as well as the necessity for non-standard language extensions to aid certain compiler optimizations like open compilation...
متن کاملFragmental Specialization
Traditional offline program specialization relies on staging of a computation into two levels, static and dynamic. We present a generalization thereof where the static input data of one level is split up in a potentially unknown number of separate fragments. These fragments arrive in an unspecified order and are specialized as they arrive. Potential applications of the technique include separat...
متن کاملSeparate Compilation of Polychronous Specifications
As code generation for synchronous programs requires strong safety properties to be satisfied, compositionality becomes a difficult goal to achieve. Most synchronous languages, such as Esterel, Lustre or Signal require a given module or compilation unit to be insensitive to latency that communication with its environment may incur. In Lustre or Signal, for instance, a compilation unit must sati...
متن کامل